home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-06-30 | 3.9 KB | 95 lines | [TEXT/CWIE] |
- // ===========================================================================
- // LAGAEditField.h
- // ===========================================================================
- // “Apple Grayscale Appearance” compliant Text Entry Field
- // Copyright © 1996 Chrisoft (Christophe ANDRES) All rights reserved.
- //
- // You may use this source code in any application (commercial, shareware, freeware,
- // postcardware, etc), but not remove this notice (no need to acknowledge the use of
- // this class in the about box)
- // You may not sell this source code in any form. This source code may be placed on
- // publicly accessable archive sites and source code disks. It may not be placed on
- // profit archive sites and source code disks without the permission of the author,
- // Christophe ANDRES.
- //
- // This source code is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- //
- // If you make any change or improvement on this class, please send the improved/changed
- // version to : chrisoft@calva.net or Christophe ANDRES
- // 20, rue Prosper Mérimée
- // 67100 STRASBOURG
- // FRANCE
- //
- // ===========================================================================
- // LAGAEditField.cp <- double-click + Command-D to see class implementation
- //
- // LAGAEditField is my implementation of the “Apple Grayscale Appearance for System 7.5”
- // Text Entry field. It handles the 3D effect, but is also designed to work effectively
- // with a class like LAGAIndexTab. In an index tab, a Text Entry Field can be present but
- // in another Index Tab, and should therefore not be selected when the user presses the
- // “Tab” key. Also if the Index Tab is changed and a Text Entry Field is revealed it should
- // be selected. LAGAEditField handles all these cases.
- // LAGAEditField keeps its own background in white, whatever the window background may be.
- //
- // This class requires AGAColors.cp to be present in your project
- //
- // Version : 1.2
- //
- // Change History (most recent first, date in US form : mm/dd/yy):
- //
- // 06/30/96 ca Public release of version 1.2
- // 06/04/96 ca Added RegisterClass method to ease registry
- // Added guard macros in header files
- // Increased version to 1.2
- // 05/20/96 ca Increased version to 1.1
- // Added copy constructor
- // Added "on the fly" constructor
- // Added change history
- // 05/10/96 M™H Changes by Michael(tm) Hamel <mhamel@adi.co.nz>
- // Corrected the fact that LAGAEditField used to draw outside of its frame, which is a problem
- // if you Hide() it.
- // Note : You might need to increase slightly (2 pixels) the height of objects created with
- // version 1.0
- // 04/22/96 ca class made available by Christophe ANDRES <chrisoft@calva.net>
- // (version 1.0)
- //
- // To Do:
- //
-
- #ifndef _H_LAGAEditField
- #define _H_LAGAEditField
- #pragma once
-
- #include <LEditField.h>
-
- class LAGAEditField : public LEditField
- {
- public :
- enum { class_ID = 'AGAe' };
- static void RegisterClass (); // <06/04/96 ca>
- static LAGAEditField* CreateAGAEditFieldStream (LStream *inStream);
-
- LAGAEditField (LStream *inStream);
-
- LAGAEditField (const LAGAEditField &inOriginal);
-
- LAGAEditField (const SPaneInfo &inPaneInfo, Str255 inString, ResIDT inTextTraitsID,
- Int16 inMaxChars, Boolean inHasBox, Boolean inHasWordWrap,
- KeyFilterFunc inKeyFilter, LCommander *inSuper);
-
- virtual Boolean ObeyCommand (CommandT inCommand, void* ioParam);
-
- virtual void SpendTime (const EventRecord &inMacEvent);
-
- protected :
- virtual void DrawBox ();
-
- void DrawSelf ();
- void AlignTextEditRects ();
- void AdjustTextWidth (Boolean inShrinkToText);
- };
-
- #endif
-